[IA64] Kill PM timer
authorAlex Williamson <alex.williamson@hp.com>
Fri, 24 Aug 2007 21:06:49 +0000 (15:06 -0600)
committerAlex Williamson <alex.williamson@hp.com>
Fri, 24 Aug 2007 21:06:49 +0000 (15:06 -0600)
The release proceeding of domain resources forgot to stop (or kill)
PM timer, and freed the domain structure.
VMX flag of VCPU#0 was not set when VHPT allocation for VCPU#0
failed.  For this reason, domain_relinquish_resources() did not
call vmx_relinqush_guest_resources().  But the domain structure
was freed.  As a result, timer_softirq_action() lose sight of
the callback function for PM timer.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
xen/arch/ia64/xen/domain.c

index 1cda521a4ecf36d6c1472eea045a2e495272fc5b..c8cd84a74b68c90006cef05226df3559fa45dadc 100644 (file)
@@ -939,7 +939,7 @@ static void relinquish_memory(struct domain *d, struct list_head *list)
 void domain_relinquish_resources(struct domain *d)
 {
     /* Relinquish guest resources for VT-i domain. */
-    if (d->vcpu[0] && VMX_DOMAIN(d->vcpu[0]))
+    if (d->arch.is_vti)
            vmx_relinquish_guest_resources(d);
 
     /* Tear down shadow mode stuff. */